package it.gameplanet.model;

import java.io.Serializable;

import javax.jdo.annotations.IdGeneratorStrategy;
import javax.jdo.annotations.IdentityType;
import javax.jdo.annotations.PersistenceCapable;
import javax.jdo.annotations.Persistent;
import javax.jdo.annotations.PrimaryKey;

import com.google.gwt.validation.client.NotEmpty;
import com.google.gwt.validation.client.NotNull;
import com.google.gwt.validation.client.Pattern;
import com.google.gwt.validation.client.interfaces.IValidatable;

@SuppressWarnings("serial")
@PersistenceCapable(identityType = IdentityType.APPLICATION)
public class Articolo implements Serializable, IValidatable {

    @PrimaryKey
    @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
    private Long id;

    @Persistent
    @NotEmpty
    @NotNull
    private String nome;
    
    @Persistent
    private String descrizione;
    
    @Persistent
    @Pattern(pattern="^([0-9])+.[0-9]{2x}$")	
    private double prezzo;
    
    @Persistent
    private int quantita;

    @Persistent
    private String categoria;
    
    public Articolo() {
		super();
	}

	public Articolo(String nome, String descrizione, double prezzo,
			int quantita, String categoria) {
		super();
		this.nome = nome;
		this.descrizione = descrizione;
		this.prezzo = prezzo;
		this.quantita = quantita;
		this.categoria = categoria;
	}

	public Long getId() {
		return id;
	}
	
	public void setId(Long id) {
		this.id = id;
	}
	public String getNome() {
		return nome;
	}
	public void setNome(String serverInfo) {
		this.nome = serverInfo;
	}
	public String getDescrizione() {
		return descrizione;
	}
	public void setDescrizione(String userAgent) {
		this.descrizione = userAgent;
	}
	public double getPrezzo() {
		return prezzo;
	}
	public void setPrezzo(double remoteAddr) {
		this.prezzo = remoteAddr;
	}

	public int getQuantita() {
		return quantita;
	}

	public void setQuantita(int quantita) {
		this.quantita = quantita;
	}

	public String getCategoria() {
		return categoria;
	}

	public void setCategoria(String categoria) {
		this.categoria = categoria;
	}
}
